Many methods exist for computer devices to access read-only data on a server across a network. Such methods include network file systems, application installation servers, and archived file systems retrieved from FTP (File Transfer Protocol) or HTTP (Hypertext Transfer Protocol) servers.
Each of these methods has certain disadvantages. For example, to load an application from a network file system, special software needs to be run on the file server. Moreover, mechanisms need to be set up to configure firewalls and proxy servers to allow the network file system protocols to pass through gateways and firewalls. Application installation servers are also special servers, and thus suffer from the same deployment problems as network file systems.
In addition, when loading an application, for example a game application, with contemporary file systems there needs to be sufficient storage on the client to store the entire application. While not a problem with contemporary desktop computer systems, consumer devices such as cable television set-top boxes, satellite receivers, pocket PCs and so forth are limited in their available storage space. These devices are capable of loading and executing software packages in much the same way as a desktop computer, but lack the storage necessary to have large packages loaded onto the system, particularly in conjunction with other data needed by a user. Thus, for example, existing methods are inadequate to load applications such as disk-based games onto various platforms and/or environments having limited memory capacity.
Existing archived file systems have other drawbacks, one of which is that when attempting to load an application, the whole application needs to be retrieved from the server at once. Before the application can run, all the data needs to be transferred to the requesting client. Typically, during installation, there must be enough storage on the client to store two copies of the application, which as can be appreciated, severely restricts the applications that memory-limited consumer devices can execute.